package cn.fzkj.common.exception;

/**
 * @DESCRIPTION 所有异常code
 * 前两位表示业务场景；后三位表示错误码
 * 如：
 * 10：通用
 *      ：001：参数格式校验错误
 *      002 ：验证码频率太高
 *      003: 验证码错误
 * 11：商品 product
 * 12：订单 order
 * 13：购物车
 * 14：物流
 * 15: 库存 purchase
 * 16: 认证服务
 *  001：注册失败
 * 17：会员服务
 *  001：用户已存在
 *  002：手机号已存在
 *  003：账号或密码错误
 */
public enum ErrorsEnum {

    UNKOWN_EXCEPTION(10000, "系统未知异常"),
    PARAM_VALID_FAILD(10001, "请求参数校验不合法"),
    SMS_REQUEST_REFUSE(10002, "sms request refuse."),
    SMS_NOT_CURRENT(10003, "sms code not current."),

    PURCHASE_DETAIL_ALREADY_MERGED(15001, "采购需求正在采购中"),
    PURCHASE_DETAIL_RECEIVE_BEFORED_ASSIGN(15002, "领取前需要先分配采购员"),

    PRODUCT_UP_EXCEPTION(11000, "商品上架出现异常"),

    REGISTER_FAIL(16001, "register fail."),


    USERNAME_EXIST(17001, "username already exist."),
    PHONE_EXIST(17002,"phone already exist."),
    USERNAME_PASSWORD_ERROR(17003, "username or password not current."),

    ;


    private Integer code;
    private String msg;

    ErrorsEnum(Integer code, String msg){
        this.code = code;
        this.msg = msg;
    }

    public Integer getCode() {
        return code;
    }

    public String getMsg() {
        return msg;
    }
}
